Macaulay2 » Documentation
Packages » MatrixFactorizations :: ZZdFactorizationMap ^ Array
next | previous | forward | backward | up | index | toc

ZZdFactorizationMap ^ Array -- the composition with the canonical inclusion or projection map

Description

The direct sum is an n-ary operator with projection and inclusion maps from each component satisfying appropriate identities.

One can access these maps as follows. First, we define some non-trivial maps of chain complexes.

i1 : S = ZZ/101[a,b];
i2 : R = S/(a^3+b^3);
i3 : m = ideal vars R

o3 = ideal (a, b)

o3 : Ideal of R
i4 : use S;
i5 : C1 = tailMF m

      2      2      2
o5 = S  <-- S  <-- S
                    
     0      1      0

o5 : ZZdFactorization
i6 : C2 = randomTailMF(a^3+b^3, 3, 5, 2)

      5      5      5
o6 = S  <-- S  <-- S
                    
     0      1      0

o6 : ZZdFactorization
i7 : D1 = randomTailMF(a^3+b^3, 2, 4, 2)

      4      4      4
o7 = S  <-- S  <-- S
                    
     0      1      0

o7 : ZZdFactorization
i8 : D2 = tailMF (m^2)

      3      3      3
o8 = S  <-- S  <-- S
                    
     0      1      0

o8 : ZZdFactorization
i9 : f = randomFactorizationMap(D1, C1, Cycle => true)

          4                                                  2
o9 = 0 : S  <---------------------------------------------- S  : 0
               | 21a2-6ab+32b2   15a3-35a2b+16ab2-47b3  |
               | 2a2-24ab-32b2   32a3-24a2b+5ab2+13b3   |
               | -42a2-24ab+30b2 39a3+17a2b+8ab2-18b3   |
               | -10a2-9ab-18b2  -20a3-15a2b+44ab2+22b3 |

          4                                                            2
     1 : S  <-------------------------------------------------------- S  : 1
               {1} | -21a3-9a2b+5ab2+13b3  -15a3+35a2b+37ab2+32b3 |
               {1} | 42a3-15a2b+44ab2+22b3 -39a3-17a2b+31ab2+18b3 |
               {2} | 2a2+29ab-47b2         32a2-9ab-32b2          |
               {2} | -10a2+30ab-18b2       -20a2+24ab-30b2        |

o9 : ZZdFactorizationMap
i10 : g = randomFactorizationMap(D2, C2, Cycle => true, InternalDegree => 4)

           3                                                        5
o10 = 0 : S  <---------------------------------------------------- S  : 0
                {3} | 46a-4b  -41a-9b 6a      43a+b    3a+12b  |
                {3} | 10a+10b -7a-11b -8a+38b -21a+b   39a+29b |
                {3} | -30a-3b 33a-49b 32a+41b -40a-31b 48a-29b |

           3                                                     5
      1 : S  <------------------------------------------------- S  : 1
                {5} | 36  -9a+12b  20a-39b 21a+23b -41a-25b |
                {5} | 44  -45a+47b 41a-7b  32a+41b -33a-19b |
                {5} | -39 -3a-33b  21a-15b 39a+7b  17a-20b  |

o10 : ZZdFactorizationMap
i11 : h = f ++ g

           7                                                                                               7
o11 = 0 : S  <------------------------------------------------------------------------------------------- S  : 0
                {0} | 21a2-6ab+32b2   15a3-35a2b+16ab2-47b3  0       0       0       0        0       |
                {0} | 2a2-24ab-32b2   32a3-24a2b+5ab2+13b3   0       0       0       0        0       |
                {0} | -42a2-24ab+30b2 39a3+17a2b+8ab2-18b3   0       0       0       0        0       |
                {0} | -10a2-9ab-18b2  -20a3-15a2b+44ab2+22b3 0       0       0       0        0       |
                {3} | 0               0                      46a-4b  -41a-9b 6a      43a+b    3a+12b  |
                {3} | 0               0                      10a+10b -7a-11b -8a+38b -21a+b   39a+29b |
                {3} | 0               0                      -30a-3b 33a-49b 32a+41b -40a-31b 48a-29b |

           7                                                                                                  7
      1 : S  <---------------------------------------------------------------------------------------------- S  : 1
                {1} | -21a3-9a2b+5ab2+13b3  -15a3+35a2b+37ab2+32b3 0   0        0       0       0        |
                {1} | 42a3-15a2b+44ab2+22b3 -39a3-17a2b+31ab2+18b3 0   0        0       0       0        |
                {2} | 2a2+29ab-47b2         32a2-9ab-32b2          0   0        0       0       0        |
                {2} | -10a2+30ab-18b2       -20a2+24ab-30b2        0   0        0       0       0        |
                {5} | 0                     0                      36  -9a+12b  20a-39b 21a+23b -41a-25b |
                {5} | 0                     0                      44  -45a+47b 41a-7b  32a+41b -33a-19b |
                {5} | 0                     0                      -39 -3a-33b  21a-15b 39a+7b  17a-20b  |

o11 : ZZdFactorizationMap

The four basic maps are the inclusion from each summand of the source and the projection to each summand of the target.

i12 : h_[0] == h * (C1 ++ C2)_[0]

o12 = true
i13 : h_[1] == h * (C1 ++ C2)_[1]

o13 = true
i14 : h^[0] == (D1 ++ D2)^[0] * h

o14 = true
i15 : h^[1] == (D1 ++ D2)^[1] * h

o15 = true

These can be combined to obtain the blocks of the map of chain complexes.

i16 : h_[0]^[0] == f

o16 = true
i17 : h_[1]^[1] == g

o17 = true
i18 : h_[0]^[1] == 0

o18 = true
i19 : h_[1]^[0] == 0

o19 = true
i20 : assert(h == map(D1 ++ D2, C1 ++ C2, {{f,0},{0,g}}))

The default names for the components are the non-negative integers. However, one can choose any name.

i21 : h = (chicken => f) ++ (nuggets => g)

           7                                                                                               7
o21 = 0 : S  <------------------------------------------------------------------------------------------- S  : 0
                {0} | 21a2-6ab+32b2   15a3-35a2b+16ab2-47b3  0       0       0       0        0       |
                {0} | 2a2-24ab-32b2   32a3-24a2b+5ab2+13b3   0       0       0       0        0       |
                {0} | -42a2-24ab+30b2 39a3+17a2b+8ab2-18b3   0       0       0       0        0       |
                {0} | -10a2-9ab-18b2  -20a3-15a2b+44ab2+22b3 0       0       0       0        0       |
                {3} | 0               0                      46a-4b  -41a-9b 6a      43a+b    3a+12b  |
                {3} | 0               0                      10a+10b -7a-11b -8a+38b -21a+b   39a+29b |
                {3} | 0               0                      -30a-3b 33a-49b 32a+41b -40a-31b 48a-29b |

           7                                                                                                  7
      1 : S  <---------------------------------------------------------------------------------------------- S  : 1
                {1} | -21a3-9a2b+5ab2+13b3  -15a3+35a2b+37ab2+32b3 0   0        0       0       0        |
                {1} | 42a3-15a2b+44ab2+22b3 -39a3-17a2b+31ab2+18b3 0   0        0       0       0        |
                {2} | 2a2+29ab-47b2         32a2-9ab-32b2          0   0        0       0       0        |
                {2} | -10a2+30ab-18b2       -20a2+24ab-30b2        0   0        0       0       0        |
                {5} | 0                     0                      36  -9a+12b  20a-39b 21a+23b -41a-25b |
                {5} | 0                     0                      44  -45a+47b 41a-7b  32a+41b -33a-19b |
                {5} | 0                     0                      -39 -3a-33b  21a-15b 39a+7b  17a-20b  |

o21 : ZZdFactorizationMap
i22 : h_[chicken]^[chicken] == f

o22 = true
i23 : h_[nuggets]^[nuggets] == g

o23 = true

See also

Ways to use this method:


The source of this document is in MatrixFactorizations/MatrixFactorizationsDOC.m2:4558:0.